import sys
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
from PyQt5.QtGui import *
 
 
class DockDemo(QMainWindow): #直接一整个屏幕就是一个选项卡窗口
    def __init__(self,parent=None):
        super(DockDemo, self).__init__(parent)
        self.setWindowTitle('停靠控件:QDockWidget')
        self.setGeometry(800,450,500,500)#x,y,w,h
        #self.resize(400, 200)
 
        layout=QHBoxLayout()
        #停靠控件对象
        self.items=QDockWidget('Dockable',self)
        #列表控件
        self.listWidget=QListWidget()
        self.listWidget.addItem('item1')
        self.listWidget.addItem('item2')
        self.listWidget.addItem('item3')
        #将列表放到停靠控件上
        self.items.setWidget(self.listWidget)
 
        self.setCentralWidget(QLineEdit('单行输入'))
        #设置一开始就是悬浮状态
        self.items.setFloating(True)
 
        #在窗口上设置停靠控件，且悬浮在右侧
        self.addDockWidget(Qt.RightDockWidgetArea,self.items)
 
 
if __name__=='__main__':
    app=QApplication(sys.argv)
    main=DockDemo()
    main.show()
    sys.exit(app.exec_())
 
